Function isotope_parser::utils::natural[][src]

pub fn natural<F: IntFromStr>(input: &str) -> IResult<&str, F>
Expand description

Parse a natural number

Examples

assert_eq!(natural::<u32>("5"), Ok(("", 5)));
assert_eq!(natural::<u32>("0x5"), Ok(("", 5)));
assert_eq!(natural::<u32>("0xfa"), Ok(("", 0xfa)));
assert_eq!(natural::<u32>("0o15"), Ok(("", 0o15)));
assert_eq!(natural::<u32>("0b10"), Ok(("", 0b10)));
// Only allows valid digits:
assert_eq!(natural::<u32>("0b20"), Ok(("b20", 0)));
assert_eq!(natural::<u32>("0b02"), Ok(("2", 0)));
// Overflow!
assert!(natural::<u32>("10000000000").is_err());
assert_eq!(natural::<u64>("10000000000"), Ok(("", 10000000000)));
assert!(natural::<u64>("100000000000000000000").is_err());